package com.yun.zf.common.app.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 房产证信息表
 * </p>
 *
 * @author cj
 * @since 2021-03-05
 */
@TableName("zf_house_certificate")
@Data
public class ZfHouseCertificate implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    /**
     * 基本房源表id
     */
    @NotNull(message = "房源id不能为空")
    private Long basicId;

    /**
     * 省级区划代码
     */
    @NotNull(message = "省级区划代码不能为空")
    private Long provinceCode;

    /**
     * 城市编码
     */
    @NotNull(message = "城市编码不能为空")
    private Long cityCode;

    /**
     * 登记日期
     */
    @NotNull(message = "登记日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date registrationDate;

    /**
     * 是否共用，是Y 否N
     */
    private String isShare;

    /**
     * 建筑面积
     */
    @NotNull(message = "建筑面积不能为空")
    private BigDecimal constructionArea;

    /**
     * 实际面积
     */
    private BigDecimal actualArea;

    // 产证证件类型 1房产证，2原始购房合同
    private int certType;

    /**
     * 房产证编号
     */
    @NotBlank(message = "房产证编号不能为空")
    private String certNumber;

    /**
     * 产权人
     */
    @NotBlank(message = "产权人不能为空")
    private String owner;

    /**
     * 房产证地址
     */
    @NotBlank(message = "房产证地址不能为空")
    private String address;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifiedTime = new Date();
}
